using System;
using System.ComponentModel;

namespace SqlSugarLearing.Model
{
    /// <summary>
    /// 推广型会议基础表
    /// </summary>
    public class CRM_PromotionMeeting {
        /// <summary>
        ///编号
        /// </summary>
        public int ID { get; set; }
        /// <summary>
        ///会议编号
        /// </summary>
        [DisplayName("会议编号")]
        public string MeetingCode { get; set; }
        /// <summary>
        ///会议名称
        /// </summary>
        [DisplayName("会议名称")]
        public string MeetingName { get; set; }

        
        /// <summary>
        ///会议类型
        /// </summary>
        [DisplayName("会议类型")]
        public string MeetingType { get; set; }
        /// <summary>
        /// 课程名称
        /// </summary>
        public string CourseName { get; set; }
        /// <summary>
        ///经销公司ID集合
        /// </summary>
        [DisplayName("经销公司ID集合")]
        public string AgentIDs { get; set; }
        /// <summary>
        ///邀约经销商公司ID集合
        /// </summary>
        public string JoinAgentIDs { get; set; }
        /// <summary>
        ///省 名称
        /// </summary>
        [DisplayName("省")]
        public string Province { get; set; }
        /// <summary>
        ///市 名称
        /// </summary>
        [DisplayName("市")]
        public string City { get; set; }
        /// <summary>
        ///区县 名称
        /// </summary>
        [DisplayName("区县")]
        public string County { get; set; }
        /// <summary>
        ///详细地址
        /// </summary>
        [DisplayName("详细地址")]
        public string Address { get; set; }
        /// <summary>
        /// 6位会议地区编码 精确到区县
        /// </summary>
        public string MeetingAreaID { get; set; }
        /// <summary>
        ///会议开始时间
        /// </summary>
        [DisplayName("会议开始时间")]
        public DateTime MeetingStartTime { get; set; }
        /// <summary>
        ///会议结束时间
        /// </summary>
        [DisplayName("会议结束时间")]
        public DateTime MeetingEndTime { get; set; }
        /// <summary>
        ///主持人ID  operatorid
        /// </summary>
        [DisplayName("主持人")]
        public int MeetingPresenterID { get; set; }
        /// <summary>
        ///主持人名称 
        /// </summary>
        [DisplayName("主持人")]
        public string MeetingPresenterName { get; set; }
        /// <summary>
        ///会场最大容量
        /// </summary>
        [DisplayName("会场最大容量")]
        public int MeetingPlaceMaxCount { get; set; }
        /// <summary>
        ///会议邀约数量
        /// </summary>
        [DisplayName("会议邀约数量")]
        public int MeetingInviteCount { get; set; }
        /// <summary>
        ///已邀约到的数量
        /// </summary>
        [DisplayName("已邀约到的数量")]
        public int MeetingJoinCount { get; set; }
        /// <summary>
        ///是否与大区经理沟通 0否|1是
        /// </summary>
        [DisplayName("是否与大区经理沟通")]
        public int IsBigAreaManagerComm { get; set; }
        /// <summary>
        ///是否有促单环节 0否|1是
        /// </summary>
        [DisplayName("是否有促单环节")]
        public int IsHaveOrderPart { get; set; }
        /// <summary>
        ///促单开始时间
        /// </summary>
        [DisplayName("促单开始时间")]
        public DateTime? OrderPartStartTime { get; set; }
        /// <summary>
        ///促单结束时间
        /// </summary>
        [DisplayName("促单结束时间")]
        public DateTime? OrderPartEndTime { get; set; }
        /// <summary>
        /// 是否与教育局合作
        /// </summary>
        [DisplayName("是否与教育局合作")]
        public int IsEducationBureauJoinHands { get; set; }
        /// <summary>
        ///协作单位
        /// </summary>
        [DisplayName("协作单位")]
        public string AssistCompany { get; set; }



        /// <summary>
        ///申报人ID operatorid
        /// </summary>
        public int CreateByID { get; set; }
        /// <summary>
        ///申报人姓名 staffname
        /// </summary>
        [DisplayName("申报人")]
        public string CreateByName { get; set; }
        /// <summary>
        ///申报人所属部门ID
        /// </summary>
        public int CreateByDept { get; set; }
        /// <summary>
        ///申报人所属职位ID
        /// </summary>
        public int CreateByJob { get; set; }
        /// <summary>
        ///申报人授权区域
        /// </summary>
        public string CreateByAuthAreas { get; set; }
        /// <summary>
        ///申报人归属大区
        /// </summary>
        public string CreateByBigArea { get; set; }
        /// <summary>
        ///申报时间
        /// </summary>
        [DisplayName("申报时间")]
        public DateTime CreateDateTime { get; set; }
        /// <summary>
        ///更新时间
        /// </summary>
        public DateTime UpdateDateTime { get; set; }
        /// <summary>
        ///更新人id operatorid
        /// </summary>
        public int UpdateByID { get; set; }
        /// <summary>
        ///会议状态
        /// </summary>
        public string MeetingStatus { get; set; }
        /// <summary>
        ///会议标签
        /// </summary>
        [DisplayName("会议状态")]
        public string MeetingLabel { get; set; }
        /// <summary>
        ///会议当前流程节点
        /// </summary>
        public string MeetingCurrFlowNode { get; set; }
        /// <summary>
        ///会议来源流程节点
        /// </summary>
        public string MeetingFromFlowNode { get; set; }
        /// <summary>
        ///会议去向流程节点
        /// </summary>
        public string MeetingNextFlowNode { get; set; }
        /// <summary>
        ///是否违规 0否|1是
        /// </summary>
        [DisplayName("是否违规")]
        public int IsViolations { get; set; }
        /// <summary>
        ///安排培训师开始时间
        /// </summary>
        public DateTime? ArrangeTeacherStartTime { get; set; }
        /// <summary>
        ///安排培训师结束时间
        /// </summary>
        public DateTime? ArrangeTeacherEndTime { get; set; }
        /// <summary>
        ///全部会议相关人员ID集合 operatorid
        /// </summary>
        public string MeetingAllPeopleIDs { get; set; }

        /// <summary>
        ///安排的所有培训师ID集合 operatorid
        /// </summary>
        public string ArrangeTeacherIDs { get; set; }
        /// <summary>
        /// 已安排培训师之后已完成的任务集合
        /// </summary>
        public string CompletedTasks { get; set; }

        public void DateTimeMinValue() {
            if (ArrangeTeacherStartTime == null || ArrangeTeacherStartTime <= new DateTime(1970,1,1)) {
                ArrangeTeacherStartTime = null;
            }
            if (ArrangeTeacherEndTime == null || ArrangeTeacherEndTime <= new DateTime(1970 , 1 , 1)) {
                ArrangeTeacherEndTime = null;
            }
            if (OrderPartStartTime == null || OrderPartStartTime <= new DateTime(1970 , 1 , 1)) {
                OrderPartStartTime = null;
            }
            if (OrderPartEndTime == null || OrderPartEndTime <= new DateTime(1970 , 1 , 1)) {
                OrderPartEndTime = null;
            }            
        }
        /// <summary>
        ///添加参与经销商的所有销售部人员ID集合 operatorid
        /// </summary>
        public string MeetingInviteIDs { get; set; }
        /// <summary>
        /// 是否已经推送网校和小程序评价
        /// </summary>
        public int SendAppraiseLink { get; set; }
        /// <summary>
        /// 核查状态 已核查、未核查  供行政部在推广型培训会评价阶段核查使用
        /// </summary>
        public string checkstatus { get; set; }
        /// <summary>
        /// 园所评价分数 行政部核查时修改的值
        /// </summary>
        public decimal kindergartenScore { get; set; }
        /// <summary>
        /// 参会幼儿园ID集合
        /// </summary>
        public string MeetingAllKKIDs { get;set;}
        /// <summary>
        /// 经销公司评价培训质量 行政部核查时修改的值
        /// </summary>
        public decimal AgentAppraiseTrainer { get; set; }
        /// <summary>
        /// 督训经理评价培训质量 行政部核查时修改的值
        /// </summary>
        public decimal AppraiseTrainer { get; set; }
        /// <summary>
        /// 经销公司评价组会质量
        /// </summary>
        public decimal AgentAppraiseSaler { get; set; }
        /// <summary>
        /// 培训师评价组会质量
        /// </summary>
        public decimal AppraiseSaler { get; set; }
        /// <summary>
        /// 核查时间  供行政部在推广型培训会评价阶段核查使用
        /// </summary>
        public DateTime CheckTime { get; set; }
        /// <summary>
        /// 三方评价组会质量小计分数
        /// </summary>
        public decimal AppraiseMeetingTotal { get; set; }
        /// <summary>
        /// 会议属性 图书、装备
        /// </summary>
        [DisplayName("会议属性")]
        public string MeetingProperty { get; set; }
        /// <summary>
        /// 实施形式  线上/线下
        /// </summary>
        public string ImplementationForm { get; set; }
    }
}